package com.java.module.chat.service;

import java.util.List;
import com.java.module.chat.domain.ChatGroup;

/**
 * 聊天模块：群聊Service接口
 * 
 * @author Administrator
 * @date 2023-02-16
 */
public interface IChatGroupService 
{
    /**
     * 查询聊天模块：群聊
     * 
     * @param groupId 聊天模块：群聊ID
     * @return 聊天模块：群聊
     */
    public ChatGroup selectChatGroupById(Long groupId);

    /**
     * 查询聊天模块：群聊列表
     * 
     * @param chatGroup 聊天模块：群聊
     * @return 聊天模块：群聊集合
     */
    public List<ChatGroup> selectChatGroupList(ChatGroup chatGroup);

    /**
     * 新增聊天模块：群聊
     * 
     * @param chatGroup 聊天模块：群聊
     * @return 结果
     */
    public int insertChatGroup(ChatGroup chatGroup);

    /**
     * 修改聊天模块：群聊
     * 
     * @param chatGroup 聊天模块：群聊
     * @return 结果
     */
    public int updateChatGroup(ChatGroup chatGroup);

    /**
     * 批量删除聊天模块：群聊
     * 
     * @param groupIds 需要删除的聊天模块：群聊ID
     * @return 结果
     */
    public int deleteChatGroupByIds(Long[] groupIds);

    /**
     * 删除聊天模块：群聊信息
     * 
     * @param groupId 聊天模块：群聊ID
     * @return 结果
     */
    public int deleteChatGroupById(Long groupId);

    /**
     * 创建群聊
     * @param loginUserId 登录用户id
     * @param uids 群成员id
     * @return 创建的群聊id
     */
    Long createGroup(Long loginUserId, Long[] uids);

    /**
     * 修改群聊名称
     * @param uid
     * @param gid
     * @param name
     * @return
     */
    int changeGroupName(Long uid, Long gid, String name);

    /**
     * 增加群聊人员
     * @param loginUserId
     * @param gid
     * @param idNumber
     * @return
     */
    int addGroupUser(Long loginUserId, Long gid, String idNumber);
}
